*, *:before, *:after {
  box-sizing: border-box;
}
*, *:focus, *:active, *:focus:active, *:before, *:before:focus, *:before:active, *:before:focus:active, *:after, *:after:focus, *:after:active, *:after:focus:active {
  outline: none;
}

body {
  min-height: 100vh;
  padding: 2rem;
}

ul {
  padding: 0;
}

li {
  list-style: none;
  padding: 0;
}

h2 {
  text-align: center;
}
h2:not(:first-child) {
  margin-top: 45px;
}

p {
  margin: 20px 0 10px;
}
p + p {
  margin-top: 0;
}

.container {
  margin: 0 auto;
  max-width: 600px;
}

.carousel {
  margin: 0 30px;
  width: calc(100% - ($button-spacing * 2));
}
.carousel[data-shift="1"] .carousel-inner > .item {
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}
.carousel .carousel-inner > .item.row {
  margin: 0;
}
.carousel .carousel-control {
  background: none;
  color: transparent;
  overflow: hidden;
  text-shadow: none;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  width: 30px;
}
.carousel .carousel-control:before {
  color: #444;
  font-family: 'Glyphicons Halflings';
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 30px;
}
.carousel .carousel-control:after {
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
  content: '';
  height: 60%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  width: 100%;
}
.carousel .carousel-control:hover:after {
  box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.7);
}
.carousel .carousel-control.left {
  left: -30px;
}
.carousel .carousel-control.left:before {
  content: '\e079';
}
.carousel .carousel-control.left:after {
  right: -100%;
}
.carousel .carousel-control.right {
  right: -30px;
}
.carousel .carousel-control.right:before {
  content: '\e080';
}
.carousel .carousel-control.right:after {
  left: -100%;
}
